package com.hyt.it.ogt.kq.service.gov.mapper.admission;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.hyt.it.ogt.kq.service.model.entity.admission.ExamineeInfo;
import com.hyt.it.ogt.kq.service.model.entity.admission.ExamineeTimes;
import com.hyt.it.ogt.kq.service.gov.model.param.admission.ExamineeInfoPageParam;
import com.hyt.it.ogt.kq.service.gov.model.param.admission.ExamineeTicketViewPageParam;
import com.hyt.it.ogt.kq.service.gov.model.vo.admission.ExamineeInfoPageVO;
import com.hyt.it.ogt.kq.service.gov.model.vo.admission.ExamineeInfoVO;
import com.hyt.it.ogt.kq.service.gov.model.param.admission.ExamineeInfoExportParam;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 准考证考生信息
 * </p>
 *
 * @author zhoumiao
 * @since 2023-01-10
 */
public interface ExamineeInfoMapper extends BaseMapper<ExamineeInfo> {

    /**
     * 分页查询
     *
     * @param examineeTicketViewPageParam
     * @param current
     * @param size
     * @return
     */
    List<ExamineeInfoVO> queryTicketViewListPage(@Param("param") ExamineeTicketViewPageParam examineeTicketViewPageParam, long current, long size);
    
    /***
     * 分页统计
     * @param examineeTicketViewPageParam
     * @return
     */
    Integer countTicketViewList(@Param("param") ExamineeTicketViewPageParam examineeTicketViewPageParam);

    /**
     * 分页查询考生准考证信息
     *
     * @param examineeInfoPageParam
     * @return
     */
    IPage<ExamineeInfoPageVO> pageExamineeInfoSingle(@Param("pg") ExamineeInfoPageParam<ExamineeTimes> examineeInfoPageParam);

    /**
     * 查询导出查询考生准考证信息
     *
     * @param examineeInfoExportParam
     * @return
     */
    List<ExamineeInfoPageVO> exportAdmissionTicketExcelSingle(@Param("pg") ExamineeInfoExportParam examineeInfoExportParam);

    /**
     * 查询生成了准考证的考生
     *
     * @param infoId
     * @return
     */
    List<ExamineeInfo> listGenerateAdmissionTicket(String infoId);
}
